package gob.minedu.capacitacion.cxa.serviceImpl;
/**
 * @author pedro rios
 * @date 02/04/14
 */


import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;



import gob.minedu.capacitacion.cxa.bean.TallerUsuarioBean;
import gob.minedu.capacitacion.cxa.bean.UsuarioBean;
import gob.minedu.capacitacion.cxa.dao.ibatis.TallerUsuarioDAO;
import gob.minedu.capacitacion.cxa.service.TallerUsuarioService;

@Service
public class TallerUsuarioServiceImpl implements TallerUsuarioService{
	

	private TallerUsuarioDAO tallerUsuarioDAO;
	

	public TallerUsuarioDAO getTallerUsuarioDAO() {
		return tallerUsuarioDAO;
	}



	public void setTallerUsuarioDAO(TallerUsuarioDAO tallerUsuarioDAO) {
		this.tallerUsuarioDAO = tallerUsuarioDAO;
	}




	public List<UsuarioBean> getListaCoordinadoresByTaller(Long idTaller) {
		
		return getTallerUsuarioDAO().getListaCoordinadoresByTaller(idTaller);
	}



	
	public List<UsuarioBean> getListaFormadoresByTaller(Long idTaller) {
		return getTallerUsuarioDAO().getListaFormadoresByTaller(idTaller);
	}



	@Override
	public boolean insertTallerUsuario(TallerUsuarioBean obj) {
		return getTallerUsuarioDAO().insertTallerUsuario(obj);
	}



	@Override
	@Transactional(propagation=Propagation.REQUIRED, rollbackFor={Exception.class, RuntimeException.class})
	public boolean insertaResponsablesByTaller(List<TallerUsuarioBean> lista) {
		boolean isOk = true;
		try {
			
		
		boolean flag = true;
		
			for(TallerUsuarioBean obj :lista){
				flag = getTallerUsuarioDAO().insertTallerUsuario(obj);
				
				if(!flag){ 
					isOk = false;
					
						throw new Exception();
					
				
				}
			}
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			return isOk;
		}
		
		
	}



	@Override
	public List<UsuarioBean> getUsuariosByTaller(Long idTaller) {
		return getTallerUsuarioDAO().getUsuariosByTaller(idTaller);
	}



	@Override
	public List<UsuarioBean> getUsuariosHabilesToTaller(Long idTaller) {
		return getTallerUsuarioDAO().getUsuariosHabilesToTaller(idTaller);
	}
	

	

		
}